package com.thm.tfast.modules.sys.service;

import com.thm.tfast.modules.sys.model.SysPermission;
import com.baomidou.mybatisplus.extension.service.IService;
import com.thm.tfast.modules.sys.model.dto.permission.PermissionInsertDto;
import com.thm.tfast.modules.sys.model.dto.permission.PermissionUpdateDto;
import com.thm.tfast.modules.sys.model.vo.permission.PermissionVo;

import java.util.List;

/**
 * <p>
 * 权限信息表 服务类
 * </p>
 *
 * @author THM
 * @since 2022-10-25
 */
public interface SysPermissionService extends IService<SysPermission> {

    /**
     * 通过用户ID获取权限集合
     * @param userId 用户ID
     * @return 权限集合
     */
    List<PermissionVo> getPermissionByUserId(Long userId);

    /**
     * 新增权限信息
     * @param dto 权限信息
     * @return 权限ID
     */
    Long insert(PermissionInsertDto dto);

    /**
     * 修改权限信息
     * @param dto 权限信息
     * @return true false
     */
    Boolean update(PermissionUpdateDto dto);

    /**
     * 删除权限信息
     * @param permissionId 权限ID
     * @return true false
     */
    Boolean delete(Long permissionId);
}
